
_monSendByte:

;monitor.c,47 :: 		void monSendByte(char monData)
;monitor.c,49 :: 		monWrite(monData);
	MOVF       FARG_monSendByte_monData+0, 0
	MOVWF      FARG_spiWrite_spiData+0
	CALL       _spiWrite+0
;monitor.c,50 :: 		}
	RETURN
; end of _monSendByte

_monCmdSend:

;monitor.c,59 :: 		void monCmdSend(char monCmd)
;monitor.c,61 :: 		if (monCmd != CMD_CR)
	MOVF       FARG_monCmdSend_monCmd+0, 0
	XORLW      13
	BTFSC      STATUS+0, 2
	GOTO       L_monCmdSend0
;monitor.c,63 :: 		monWrite(monCmd);
	MOVF       FARG_monCmdSend_monCmd+0, 0
	MOVWF      FARG_spiWrite_spiData+0
	CALL       _spiWrite+0
;monitor.c,64 :: 		}
L_monCmdSend0:
;monitor.c,65 :: 		monWrite(0x0d);
	MOVLW      13
	MOVWF      FARG_spiWrite_spiData+0
	CALL       _spiWrite+0
;monitor.c,66 :: 		}
	RETURN
; end of _monCmdSend

_monCmdSendByteParam:

;monitor.c,77 :: 		void monCmdSendByteParam(char monCmd, unsigned char monParam)
;monitor.c,79 :: 		monWrite(monCmd);
	MOVF       FARG_monCmdSendByteParam_monCmd+0, 0
	MOVWF      FARG_spiWrite_spiData+0
	CALL       _spiWrite+0
;monitor.c,80 :: 		monWrite(' ');
	MOVLW      32
	MOVWF      FARG_spiWrite_spiData+0
	CALL       _spiWrite+0
;monitor.c,81 :: 		monWrite(monParam);
	MOVF       FARG_monCmdSendByteParam_monParam+0, 0
	MOVWF      FARG_spiWrite_spiData+0
	CALL       _spiWrite+0
;monitor.c,82 :: 		monWrite(0x0d);
	MOVLW      13
	MOVWF      FARG_spiWrite_spiData+0
	CALL       _spiWrite+0
;monitor.c,83 :: 		}
	RETURN
; end of _monCmdSendByteParam

_monCmdSendParam:

;monitor.c,94 :: 		void monCmdSendParam(char monCmd, unsigned char monCount, unsigned char *pmonParam)
;monitor.c,96 :: 		monWrite(monCmd);
	MOVF       FARG_monCmdSendParam_monCmd+0, 0
	MOVWF      FARG_spiWrite_spiData+0
	CALL       _spiWrite+0
;monitor.c,97 :: 		if (monCount--)
	MOVF       FARG_monCmdSendParam_monCount+0, 0
	MOVWF      R0+0
	DECF       FARG_monCmdSendParam_monCount+0, 1
	MOVF       R0+0, 0
	BTFSC      STATUS+0, 2
	GOTO       L_monCmdSendParam1
;monitor.c,99 :: 		monWrite(' ');
	MOVLW      32
	MOVWF      FARG_spiWrite_spiData+0
	CALL       _spiWrite+0
;monitor.c,100 :: 		monWrite(*pmonParam++);
	MOVF       FARG_monCmdSendParam_pmonParam+0, 0
	MOVWF      FSR
	MOVF       INDF+0, 0
	MOVWF      FARG_spiWrite_spiData+0
	CALL       _spiWrite+0
	INCF       FARG_monCmdSendParam_pmonParam+0, 1
;monitor.c,101 :: 		while (monCount--)
L_monCmdSendParam2:
	MOVF       FARG_monCmdSendParam_monCount+0, 0
	MOVWF      R0+0
	DECF       FARG_monCmdSendParam_monCount+0, 1
	MOVF       R0+0, 0
	BTFSC      STATUS+0, 2
	GOTO       L_monCmdSendParam3
;monitor.c,103 :: 		monWrite(*pmonParam++);
	MOVF       FARG_monCmdSendParam_pmonParam+0, 0
	MOVWF      FSR
	MOVF       INDF+0, 0
	MOVWF      FARG_spiWrite_spiData+0
	CALL       _spiWrite+0
	INCF       FARG_monCmdSendParam_pmonParam+0, 1
;monitor.c,104 :: 		}
	GOTO       L_monCmdSendParam2
L_monCmdSendParam3:
;monitor.c,105 :: 		}
L_monCmdSendParam1:
;monitor.c,106 :: 		monWrite(0x0d);
	MOVLW      13
	MOVWF      FARG_spiWrite_spiData+0
	CALL       _spiWrite+0
;monitor.c,107 :: 		}
	RETURN
; end of _monCmdSendParam

_monResponse:

;monitor.c,118 :: 		enum vResponse monResponse() {
;monitor.c,128 :: 		bufCnt = 0;
	CLRF       monResponse_bufCnt_L0+0
;monitor.c,129 :: 		tpResp = Resp_None;
	MOVLW      255
	MOVWF      monResponse_tpResp_L0+0
;monitor.c,133 :: 		if (monRead(&data_in) != XFER_RETRY)
	MOVLW      monResponse_data_in_L0+0
	MOVWF      FARG_spiRead_pSpiData+0
	CALL       _spiRead+0
	MOVLW      0
	XORWF      R0+1, 0
	BTFSS      STATUS+0, 2
	GOTO       L__monResponse26
	MOVLW      1
	XORWF      R0+0, 0
L__monResponse26:
	BTFSC      STATUS+0, 2
	GOTO       L_monResponse4
;monitor.c,135 :: 		for (bufCnt = 0; bufCnt < MAX_RESPONSE_LEN; bufCnt++)
	CLRF       monResponse_bufCnt_L0+0
L_monResponse5:
	MOVLW      4
	SUBWF      monResponse_bufCnt_L0+0, 0
	BTFSC      STATUS+0, 0
	GOTO       L_monResponse6
;monitor.c,137 :: 		romBufOffset = 0;
	CLRF       monResponse_romBufOffset_L0+0
;monitor.c,139 :: 		cBuf[bufCnt] = data_in;
	MOVF       monResponse_bufCnt_L0+0, 0
	ADDLW      monResponse_cBuf_L0+0
	MOVWF      FSR
	MOVF       monResponse_data_in_L0+0, 0
	MOVWF      INDF+0
;monitor.c,141 :: 		while (tpResp == Resp_None)
L_monResponse8:
	MOVF       monResponse_tpResp_L0+0, 0
	XORLW      255
	BTFSS      STATUS+0, 2
	GOTO       L_monResponse9
;monitor.c,143 :: 		tpThis = pResponse[romBufOffset++];                   // message code for this entry
	MOVF       monResponse_romBufOffset_L0+0, 0
	ADDLW      _pResponse+0
	MOVWF      FSR
	MOVF       INDF+0, 0
	MOVWF      monResponse_tpThis_L0+0
	INCF       monResponse_romBufOffset_L0+0, 1
;monitor.c,144 :: 		romCnt = pResponse[romBufOffset++];                   // number of characters for this entry
	MOVF       monResponse_romBufOffset_L0+0, 0
	ADDLW      _pResponse+0
	MOVWF      FSR
	MOVF       INDF+0, 0
	MOVWF      R1+0
	MOVF       R1+0, 0
	MOVWF      monResponse_romCnt_L0+0
	INCF       monResponse_romBufOffset_L0+0, 1
;monitor.c,145 :: 		if (romCnt == 0)                                      // reached end of Message definitions
	MOVF       R1+0, 0
	XORLW      0
	BTFSS      STATUS+0, 2
	GOTO       L_monResponse10
;monitor.c,147 :: 		break;
	GOTO       L_monResponse9
;monitor.c,148 :: 		}
L_monResponse10:
;monitor.c,149 :: 		if (romCnt == bufCnt + 1)                             // check against this Message if length is correct
	MOVF       monResponse_bufCnt_L0+0, 0
	ADDLW      1
	MOVWF      R1+0
	CLRF       R1+1
	BTFSC      STATUS+0, 0
	INCF       R1+1, 1
	MOVLW      0
	XORWF      R1+1, 0
	BTFSS      STATUS+0, 2
	GOTO       L__monResponse27
	MOVF       R1+0, 0
	XORWF      monResponse_romCnt_L0+0, 0
L__monResponse27:
	BTFSS      STATUS+0, 2
	GOTO       L_monResponse11
;monitor.c,152 :: 		tpResp = tpThis;
	MOVF       monResponse_tpThis_L0+0, 0
	MOVWF      monResponse_tpResp_L0+0
;monitor.c,153 :: 		for (j = 0; j < bufCnt; j++)
	CLRF       monResponse_j_L4+0
L_monResponse12:
	MOVF       monResponse_bufCnt_L0+0, 0
	SUBWF      monResponse_j_L4+0, 0
	BTFSC      STATUS+0, 0
	GOTO       L_monResponse13
;monitor.c,155 :: 		romCnt--;
	DECF       monResponse_romCnt_L0+0, 1
;monitor.c,156 :: 		tpBuf = pResponse[romBufOffset++];
	MOVF       monResponse_romBufOffset_L0+0, 0
	ADDLW      _pResponse+0
	MOVWF      FSR
	MOVF       INDF+0, 0
	MOVWF      monResponse_tpBuf_L0+0
	CLRF       monResponse_tpBuf_L0+1
	MOVLW      0
	MOVWF      monResponse_tpBuf_L0+1
	INCF       monResponse_romBufOffset_L0+0, 1
;monitor.c,157 :: 		if (tpBuf != cBuf[j])                             // mis-match of data
	MOVF       monResponse_j_L4+0, 0
	ADDLW      monResponse_cBuf_L0+0
	MOVWF      FSR
	MOVF       INDF+0, 0
	MOVWF      R1+0
	MOVLW      0
	XORWF      monResponse_tpBuf_L0+1, 0
	BTFSS      STATUS+0, 2
	GOTO       L__monResponse28
	MOVF       R1+0, 0
	XORWF      monResponse_tpBuf_L0+0, 0
L__monResponse28:
	BTFSC      STATUS+0, 2
	GOTO       L_monResponse15
;monitor.c,159 :: 		tpResp = Resp_None;
	MOVLW      255
	MOVWF      monResponse_tpResp_L0+0
;monitor.c,160 :: 		break;                                          // break from for loop
	GOTO       L_monResponse13
;monitor.c,161 :: 		}
L_monResponse15:
;monitor.c,153 :: 		for (j = 0; j < bufCnt; j++)
	INCF       monResponse_j_L4+0, 1
;monitor.c,162 :: 		}
	GOTO       L_monResponse12
L_monResponse13:
;monitor.c,163 :: 		}
	GOTO       L_monResponse16
L_monResponse11:
;monitor.c,164 :: 		else if (romCnt > bufCnt)
	MOVF       monResponse_romCnt_L0+0, 0
	SUBWF      monResponse_bufCnt_L0+0, 0
	BTFSC      STATUS+0, 0
	GOTO       L_monResponse17
;monitor.c,166 :: 		break;                                              // length of reponse too long
	GOTO       L_monResponse9
;monitor.c,167 :: 		}
L_monResponse17:
L_monResponse16:
;monitor.c,168 :: 		romBufOffset += romCnt;
	MOVF       monResponse_romCnt_L0+0, 0
	ADDWF      monResponse_romBufOffset_L0+0, 1
;monitor.c,169 :: 		}
	GOTO       L_monResponse8
L_monResponse9:
;monitor.c,171 :: 		if (data_in == 0x0d)
	MOVF       monResponse_data_in_L0+0, 0
	XORLW      13
	BTFSS      STATUS+0, 2
	GOTO       L_monResponse18
;monitor.c,172 :: 		break;
	GOTO       L_monResponse6
L_monResponse18:
;monitor.c,174 :: 		if (tpResp != Resp_None)
	MOVF       monResponse_tpResp_L0+0, 0
	XORLW      255
	BTFSC      STATUS+0, 2
	GOTO       L_monResponse19
;monitor.c,175 :: 		break;
	GOTO       L_monResponse6
L_monResponse19:
;monitor.c,178 :: 		data_in = monReadWait();
	CALL       _spiReadWait+0
	MOVF       R0+0, 0
	MOVWF      monResponse_data_in_L0+0
;monitor.c,179 :: 		tpResp = Resp_None;
	MOVLW      255
	MOVWF      monResponse_tpResp_L0+0
;monitor.c,135 :: 		for (bufCnt = 0; bufCnt < MAX_RESPONSE_LEN; bufCnt++)
	INCF       monResponse_bufCnt_L0+0, 1
;monitor.c,180 :: 		}
	GOTO       L_monResponse5
L_monResponse6:
;monitor.c,182 :: 		if (bufCnt == MAX_RESPONSE_LEN)
	MOVF       monResponse_bufCnt_L0+0, 0
	XORLW      4
	BTFSS      STATUS+0, 2
	GOTO       L_monResponse20
;monitor.c,185 :: 		while (data_in != 0x0d)
L_monResponse21:
	MOVF       monResponse_data_in_L0+0, 0
	XORLW      13
	BTFSC      STATUS+0, 2
	GOTO       L_monResponse22
;monitor.c,187 :: 		data_in = monReadWait();
	CALL       _spiReadWait+0
	MOVF       R0+0, 0
	MOVWF      monResponse_data_in_L0+0
;monitor.c,188 :: 		}
	GOTO       L_monResponse21
L_monResponse22:
;monitor.c,189 :: 		}
L_monResponse20:
;monitor.c,190 :: 		}
L_monResponse4:
;monitor.c,192 :: 		return tpResp;
	MOVF       monResponse_tpResp_L0+0, 0
	MOVWF      R0+0
;monitor.c,193 :: 		}
	RETURN
; end of _monResponse

_monPrompt:

;monitor.c,203 :: 		enum vResponse monPrompt()
;monitor.c,207 :: 		do
L_monPrompt23:
;monitor.c,209 :: 		tpResp = monResponse();
	CALL       _monResponse+0
	MOVF       R0+0, 0
	MOVWF      monPrompt_tpResp_L0+0
;monitor.c,210 :: 		} while (tpResp > Resp_Prompt_End);
	MOVF       R0+0, 0
	SUBLW      12
	BTFSS      STATUS+0, 0
	GOTO       L_monPrompt23
;monitor.c,212 :: 		return tpResp;
	MOVF       monPrompt_tpResp_L0+0, 0
	MOVWF      R0+0
;monitor.c,213 :: 		}
	RETURN
; end of _monPrompt
